Further macro protection by replacing _[A-Z] with _[A-Z]p git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@145410 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/tuple b/include/tuple index cc67929..190567d 100644 --- a/include/tuple +++ b/include/tuple
@@ -359,10 +359,10 @@ static const bool value = true; }; -template <bool _B0, bool ... _B> -struct __all<_B0, _B...> +template <bool _B0, bool ... _Bp> +struct __all<_B0, _Bp...> { - static const bool value = _B0 && __all<_B...>::value; + static const bool value = _B0 && __all<_Bp...>::value; }; // __tuple_impl @@ -577,12 +577,12 @@ template <class _Alloc> _LIBCPP_INLINE_VISIBILITY tuple(allocator_arg_t, const _Alloc&, const tuple&) {} - template <class _U> + template <class _Up> _LIBCPP_INLINE_VISIBILITY - tuple(array<_U, 0>) {} - template <class _Alloc, class _U> + tuple(array<_Up, 0>) {} + template <class _Alloc, class _Up> _LIBCPP_INLINE_VISIBILITY - tuple(allocator_arg_t, const _Alloc&, array<_U, 0>) {} + tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) {} _LIBCPP_INLINE_VISIBILITY void swap(tuple&) _NOEXCEPT {} }; @@ -684,14 +684,14 @@ return tuple<_Tp&&...>(_VSTD::forward<_Tp>(__t)...); } -template <size_t _I> +template <size_t _Ip> struct __tuple_equal { template <class _Tp, class _Up> _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Up& __y) { - return __tuple_equal<_I - 1>()(__x, __y) && get<_I-1>(__x) == get<_I-1>(__y); + return __tuple_equal<_Ip - 1>()(__x, __y) && get<_Ip-1>(__x) == get<_Ip-1>(__y); } }; @@ -722,15 +722,15 @@ return !(__x == __y); } -template <size_t _I> +template <size_t _Ip> struct __tuple_less { template <class _Tp, class _Up> _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Up& __y) { - return __tuple_less<_I-1>()(__x, __y) || - (!__tuple_less<_I-1>()(__y, __x) && get<_I-1>(__x) < get<_I-1>(__y)); + return __tuple_less<_Ip-1>()(__x, __y) || + (!__tuple_less<_Ip-1>()(__y, __x) && get<_Ip-1>(__x) < get<_Ip-1>(__y)); } }; @@ -835,7 +835,7 @@ return tuple<>(); } -template <class _R, class _Indices, class _Tuple0, class ..._Tuples> +template <class _Rp, class _Indices, class _Tuple0, class ..._Tuples> struct __tuple_cat_return_ref_imp; template <class ..._Types, size_t ..._I0, class _Tuple0>